1. Agile, XP, Scrum
Return to TOC
Waterfall Model
"flow down" the waterfall to develop, very expensive to go back up the waterfall for changes (inflexible)
depending on the client, this is preferred, but in general, Agile is better
Agile
4 core values
- individuals/interactions over processes/tools
- face-to-face communication
- working software over comprehensive documentation
- documentation doesn't matter if software doesn't work
- customer satisfaction over contract negotiation
- customer involvement throughout
- respond to change over following a plan
- change is inevitable; make it easy to change and easy to read
12 principles
eXtreme Programming (XP)
an iterative lifecycle gives a chance for release more often than a waterfall lifecycle
but if every iteration is one week
Some of XP's practices:
- pair programming
- driver (codes) and navigator (thinks)
- work for a little while, then alternate
- chance of distraction is reduced, better, working code, and faster speed at the cost of half productivity
- root-cause analysis
- ask "why" five times, reaching a root-cause to an issue
- ubiquitous language
- speak the "same language"
- done done
- really done- be able to deploy after every iteration
- tested, coded, installed, reviewed, etc. etc.
- stories
- one- or two-line stories of what should be produced
- must represent customer value and have clear completion criteria
- customer tests
- customers have domain knowledge that programmers don't have
- help write tests to communicate that
Scrum
"The New Product Development Game"- Hirotaka Takeuchi, Ikujiro Nonaka (1986)
analogy between development and rugby
- product owner (customer), scrum master (ensure processes are followed, team
- sprint planning
- daily scrum
- sprint review
- sprint retrospective